package com.run2code.design.behavioral.state;

/**
 * 用户上下文
 * 关注公众号【奔跑的码畜】，一起进步不迷路
 *
 * @author 第七人格
 * @date 2024/06/12
 */
public class UserContent {
    private UserState state;

    public UserContent() {
        // 初始化为未登录状态
        this.state = new LoggedOutState(this);
    }

    public void setState(UserState state) {
        this.state = state;
    }

    /**
     * 展示当前状态下的内容
     */
    public void showContent() {
        state.showContent();
    }

    /**
     * 用户登录操作
     */
    public void login() {
        state.login();
    }

    /**
     * 用户登出操作
     */
    public void logout() {
        state.logout();
    }
}